/**
 * Created by LinJe on 2015/9/21.
 * 处理首页的抓取和发布数据
 */
(function( $ ) {

    var boutiqueServer = {

        //数据浅拷贝
        'extend': function( defs, settings ) {
            for ( var attr in defs ) {
                if ( typeof settings[attr] != 'undefined' ) {
                    defs[attr] = settings[attr];
                }
            }
        },


        /**
         * common() 公共方法
         * @param settings
         * settings.type 默认值'POST', 请求的类型
         * settings.dataType 数据类型
         * settings.url 请求数据的地址
         * settings.data 要发送的数据
         * settings.callBack 请求之后的回调函数
         * 回调函数参数 msg 的数据格式如下：
         * {
         *      'data': msg, //成功提交之后返回的数据
         *      'status': 1, //0代表提交失败，1代表提交成功
         *      'error': '失败信息' //提交失败的信息提示
        }
         */
        'common': function( settings ) {
            //设置默认值
            var defs = {
                'type': 'POST',
                'dataType': 'json',
                'url': '',
                'data': {},
                'callBack': function(){}
            };

            //覆盖数据
            this.extend(defs, settings);

            //经过ajax处理表单数据之后返回结果
            $.ajax({
                type: defs.type,
                dataType: defs.dataType,
                url: defs.url,
                data: defs.data,
                success: function (msg) {
                    defs.callBack && defs.callBack(msg);
                },
                error: function(msg) {
                    defs.callBack && defs.callBack({'error':true, 'description':'服务器异常', 'data':msg});
                }
            });
        },


        //获取商品数据
        'getProductData': function( settings, callBack ) {

            this.common({
                'type': 'POST',
                'dataType': 'json',
                'url': '/boutique/findBoutique',
                'data': {
                    //需要抓取数据的url
                    'pageStep':settings.pageStep,
                    'count':settings.count
                },
                'callBack': callBack
            });

            ///////////////////////////以下是前端测试效果用////////////////////////////
            //期望返回的json数据格式如下
            //微博数据
            /*
            var data = {
                "code": 200,
                "description": "sucess",
                "detail": {
                    "totalSize": "5",
                    "boutiqueBeans": [
                        {
                            "prodPicUrl": "http://ecx.images-amazon.com/images/I/81aFIfmjHUL._SL1500_.jpg",
                            "prodPrice": "$1354",
                            "prodTitle": "Motorola Moto 360 - Black Leather Smart Watch",
                            "prodUrl": "http://www.bejson.com/",
                            "commNum": "32条讨论",
                            "excerptNum": "7个摘抄",
                            "channelNum": "5个购买渠道",
                            "commName": "阿鲁巴大仙",
                            "commComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平，加个五轴防抖，加个翻转屏，简直是完美的，然而，这一次的GR2的升级却选择了挤牙膏，这让人",
                            "commNameUrl": "http://www.bejson.com",
                            "extractName": "§蜡笔§小新",
                            "extractNameUrl": "http://www.setExtractNameUrl.com",
                            "extractComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平",
                            "extractUrl": "http://www.setExtractUrl.com",
                            "channelName": "谢育腾",
                            "channelNameUrl": "http://www.setChannelNameUrl.com",
                            "channelComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平，加个五轴防抖，加个翻转屏简直是完美的然而，这一次的GR",
                            "channelUrl": "http://www.setChannelNameUrl.com"
                        },
                        {
                            "prodPicUrl": "http://ecx.images-amazon.com/images/I/81aFIfmjHUL._SL1500_.jpg",
                            "prodPrice": "$1354",
                            "prodTitle": "Motorola Moto 360 - Black Leather Smart Watch",
                            "prodUrl": "http://www.bejson.com/",
                            "commNum": "33条讨论",
                            "excerptNum": "4个摘抄",
                            "channelNum": "6个购买渠道",
                            "commName": "阿鲁巴大仙",
                            "commComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平，加个五轴防抖，加个翻转屏，简直是完美的，然而，这一次的GR2的升级却选择了挤牙膏，这让人",
                            "commNameUrl": "http://www.bejson.com",
                            "extractName": "§蜡笔§小新",
                            "extractNameUrl": "http://www.setExtractNameUrl.com",
                            "extractComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平",
                            "extractUrl": "http://www.setExtractUrl.com",
                            "channelName": "谢育腾",
                            "channelNameUrl": "http://www.setChannelNameUrl.com",
                            "channelComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平，加个五轴防抖，加个翻转屏简直是完美的然而，这一次的GR",
                            "channelUrl": "http://www.setChannelNameUrl.com"
                        },
                        {
                            "prodPicUrl": "http://ecx.images-amazon.com/images/I/81aFIfmjHUL._SL1500_.jpg",
                            "prodPrice": "$1354",
                            "prodTitle": "Motorola Moto 360 - Black Leather Smart Watch",
                            "prodUrl": "http://www.bejson.com/",
                            "commNum": "23条讨论",
                            "excerptNum": "77个摘抄",
                            "channelNum": "51个购买渠道",
                            "commName": "阿鲁巴大仙",
                            "commComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平，加个五轴防抖，加个翻转屏，简直是完美的，然而，这一次的GR2的升级却选择了挤牙膏，这让人",
                            "commNameUrl": "http://www.bejson.com",
                            "extractName": "§蜡笔§小新",
                            "extractNameUrl": "http://www.setExtractNameUrl.com",
                            "extractComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平",
                            "extractUrl": "http://www.setExtractUrl.com",
                            "channelName": "谢育腾",
                            "channelNameUrl": "http://www.setChannelNameUrl.com",
                            "channelComment": "在我的想象中，GR2的对焦系统如果能达到A6000的水平，加个五轴防抖，加个翻转屏简直是完美的然而，这一次的GR",
                            "channelUrl": "http://www.setChannelNameUrl.com"
                        }
                    ]
                }
            };

            callBack && callBack(data);
            */
            ////////////////////////////以上是前端测试效果用////////////////////////////
        }

    };

    window.boutiqueServer = boutiqueServer;

})( jQuery );